Skip to main content

Version PyPi Downloads PyPi

Seat Connect

Fork of https://github.com/lendy007/skodaconnect which in turn is a fork of: https://github.com/robinostlund/volkswagencarnet Originally an integration for VW Carnet, adapted to communicate with Skoda Connect and then Seat Connect Changes made to utilize the same API calls as the Seat Connect mobile app.

Information

Retrieve statistics about your Seat from the Seat Connect online service

No licence, public domain, no guarantees, feel free to use for anything. Please contribute improvements/bugfixes etc.

Breaking changes

Major code changes have been made to consolidate functions and also enable auxiliary climatisation for PHEV vehicles. Names have been changed to avoid confusion when working with the code.

  • From version 1.1.0 and onwards there has been changes to token handling, login procedure and overall mode streamlined code. Logins should now be significantly faster and reliable. Codebase is directly derived and modified from Skoda Connect library with minor modifications to suit Seat API handling.

  • From version 1.0.30 and onwards there might be breaking changes for the combustion heating/climatisation.

  • Parking Heater is the auxiliary/parking heater for non-PHEV vehicles. This uses the "legacy" remotestandheizung API function. Heating is what it sounds like and ventilation is used to ventilate/cool the car.

  • Auxiliary Heater is the auxiliary/parking heater for PHEV vehicles. This uses the climater API function, same as electric climatisation.

Thanks to

  • RobinostLund for initial project for Volkswagen Carnet I was able to fork
  • Farfar for modifications related to electric engines
  • tanelvakker for modifications related to correct SPIN handling for various actions and using correct URLs also for MY2021

Installation

[venv-python3] user@localhost:~
$ pip install seatconnect

Example

For an extensive example, please use the code found in example/example.py. When logged in the library will automatically create a vehicle object for every car registered to the account. Initially no data is fetched at all. Use the doLogin method and it will signin with the credentials used for the class constructor. Method get_vehicles will fetch vehicle basic information and create Vehicle class objects for all associated vehicles in account. To update all available data use the update_all method of the Connect class. This will call the update function for all registered vehicles, which in turn will fetch data from all available API endpoints.

Attributes

The Vehicle class contains all of the attributes with values fetched from the API. To access a single attribute, please see and use the example/example.py. This will print all available methods, variables and properties as well as a list of supported attributes for discovered car.

Methods

Vehicle, in the following example the car object is an object of Vehicle class:

car.set_charger(action = "start")                          # action = "start" or "stop"
car.set_charger_current(value=<int/str>                    # value = integer 1-255 or Maximum/Reduced (For PHEV: 252=Reduced and 254=Maximum)
car.set_charge_limit(value=<int>)                          # value = integer 0-100 in 10 increments. Valid values is PHEV: 0-50, EV: 50-100.
car.set_battery_climatisation(mode = False)                # mode = False or True
car.set_climatisation(mode = "auxilliary", spin="1234")    # mode = "auxilliary", "electric" or "off". spin is S-PIN and only needed for aux heating
car.set_climatisation_temp(temperature = 22)               # temperature = integer from 16 to 30
car.set_window_heating(action = "start")                   # action = "start" or "stop"
car.set_lock(action = "unlock", spin = "1234")             # action = "unlock" or "lock". spin = SPIN, needed for both
car.set_pheater(mode = "heating", spin = "1234")           # action = "heating", "ventilation" or "off". spin = SPIN, not needed for off
car.set_charge_limit(limit = 30)                           # limit = 0,10,20,30,40,50
car.set_timer_active(id = 1, action = "on"}                # id = 1, 2, 3, action = "on" or "off".
car.set_timer_schedule(id = 1,  schedule = dict)           # id = 1, 2, 3, see example for full information about schedule variable
car.set_refresh()                                          # Takes no arguments, will trigger force update

Connection:

session = aiohttp.ClientSession(headers={'Connection': 'keep-alive'})   # Create a aiohttp session object
conn = Connection(session, username, password, fulldebug)               #
conn.doLogin()                                                         # Attempt a login, returns true/false, variable conn.
conn.get_vehicles()                                                     # Attempts to fetch all vehicles associated to account.
conn.update_all()                                                       # Calls update for all vehicle objects.
conn.logout()                                                           # Logout from API, call for revoke of tokens.
conn.terminate()                                                        # Terminate session, calls logout().
conn.get<method>                                                        # The get methods calls on API endpoints and returns data. See example.
conn.set<method>                                                        # The set methods calls on API endpoints to set config for vehicle.

Refrain from using methods starting with _, they are intended for internal use only.

Further help or contributions

For questions, further help or contributions you can join the (Skoda Connect) Discord server at https://discord.gg/826X9jEtCh

Metadata

Release files for seatconnect 1.1.9

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for seatconnect 1.1.9
File Size Uploaded
seatconnect-1.1.9.tar.gz 50.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for seatconnect 1.1.9
File Interpreter ABI Platform
seatconnect-1.1.9-py3-none-any.whl Python 3 none any Details

Total release size: 98.3 kB

Release files / seatconnect-1.1.9.tar.gz

Download URL seatconnect-1.1.9.tar.gz
Size 50.8 kB
Tags Source
SHA-256 checksum
How to use checksums
4066da8c111db1473bc97a292b0c73de43e04d39369acb056378c09af6a63bfb
BLAKE2b-256 checksum
How to use checksums
6f60e370ee803d9b3d2dd84e1d68e1e07c2eb88194f84b710d060a3b3fdcad00
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.9.15

Release files / seatconnect-1.1.9-py3-none-any.whl

Download URL seatconnect-1.1.9-py3-none-any.whl
Size 47.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
dde6fdfc95c454cb04f408740d53f6095818015e1e9e0cc6c182cdb28e9117d1
BLAKE2b-256 checksum
How to use checksums
aefce97b4a395236779266524f1744911d55a8632e532cc8eb4ab193d9b49b08
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.9.15

Release history Release notifications | RSS feed

This release

1.1.9 This release

2 release files

1.1.8

2 release files

1.1.7

2 release files

1.1.6

2 release files

1.1.5

2 release files

1.1.4

2 release files

1.1.3

2 release files

1.1.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page